Skip to content

feat(libSceSaveData): declare three Prospero mount and count exports by their hash-verified names - #5121

Closed
parl0v wants to merge 1 commit into
boykopovar:mainfrom
parl0v:feat/names-savedata
Closed

parl0v wants to merge 1 commit into
boykopovar:mainfrom
parl0v:feat/names-savedata

Conversation

@parl0v

@parl0v parl0v commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

What

Declares 3 exports by name: Prospero save-data mount variants and the updated-data count. Each is a throwing stub (NotImplemented_nid_no_patch) declared without parameters, with an Unknown function info entry in its library's technical debt file.

Library NID Name zecoxao/sce_symbols
libSceSaveData NxxouhCA12c sceSaveDataGetUpdatedDataCountProspero #23
libSceSaveData QaI8L6NzmJU sceSaveDataMount5Prospero #23
libSceSaveData fIu-ckf3n-o sceSaveDataMountSysProspero2 #22 (merged)

The names come from the shared NID database, where I added them (zecoxao/sce_symbols #22 and #23). Each name hashes to its NID with tools/nid_names.py compute_nid, and the library is the module that exports the NID in the 10.01 system modules.

No title I know of imports these yet, so nothing calls them today. With them declared, a title that does import one resolves it by name and stops with that name in the NotImplemented message instead of an unresolved NID at load. Implementations can then replace the stubs one by one.

Tested

  • Windows 10 19045, MinGW-w64 GCC 15.2: the libs target builds; tools/check_conventions.py --base origin/main passes.
  • Every name re-hashed against its NID before the commit.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none
  • AI-assisted: yes

@github-actions

Copy link
Copy Markdown

Progress report (a2a3a3a → 331f1a7)

📉 System libraries: 87.77% (-0.07%, +3 declared functions)

🆕 3 declared as stubs
Library Name
libSceSaveData sceSaveDataGetUpdatedDataCountProspero
libSceSaveData sceSaveDataMount5Prospero
libSceSaveData sceSaveDataMountSysProspero2

@CnRJay CnRJay left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same situation as #5123 in this series (see the review there): the names hash correctly, but no title imports these exports yet, and export-only PRs without a title that reaches the export on main have been closed (#1205, #1208, #950). Keeping the names in sce_symbols and reopening once a title's log shows one of them would match current review practice.

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing: no title is known to reach this. With the queue at 700+ open PRs, please hold off on new PRs that don't name a title needing the change until it's down. If a title stops on this on current main, reopen with the title ID and the log line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants